package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.ValidCode;

import java.util.*;
public class ValidCodeExample extends SgExample<ValidCodeExample.Criteria> {
    public static final Class<ValidCode> beanClass = ValidCode.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn codeId;
    public static EntityColumn code;
    public static EntityColumn codeType;
    public static EntityColumn phone;
    public static EntityColumn codeTime;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        codeId = listMap.get("codeId");
        code = listMap.get("code");
        codeType = listMap.get("codeType");
        phone = listMap.get("phone");
        codeTime = listMap.get("codeTime");
        }

    public ValidCodeExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected ValidCodeExample.Criteria createCriteriaInternal() {
        return new ValidCodeExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public ValidCodeExample.Criteria andCodeIdIsNull() {
            return isNull(codeId);
        }

        public ValidCodeExample.Criteria andCodeIdIsNotNull() {
            return isNotNull(codeId);
        }

        public ValidCodeExample.Criteria andCodeIdEqualTo(Long value) {
            return equalTo(codeId, value);
        }

        public ValidCodeExample.Criteria andCodeIdNotEqualTo(Long value) {
            return notEqualTo(codeId, value);
        }

        public ValidCodeExample.Criteria andCodeIdGreaterThan(Long value) {
            return greaterThan(codeId, value);
        }

        public ValidCodeExample.Criteria andCodeIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(codeId, value);
        }

        public ValidCodeExample.Criteria andCodeIdLessThan(Long value) {
            return lessThan(codeId, value);
        }

        public ValidCodeExample.Criteria andCodeIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(codeId, value);
        }

        public ValidCodeExample.Criteria andCodeIdIn(List<Long> values) {
            return in(codeId, values);
        }

        public ValidCodeExample.Criteria andCodeIdNotIn(List<Long> values) {
            return notIn(codeId, values);
        }

        public ValidCodeExample.Criteria andCodeIdBetween(Long value1, Long value2) {
            return between(codeId, value1, value2);
        }

        public ValidCodeExample.Criteria andCodeIdNotBetween(Long value1, Long value2) {
            return notBetween(codeId, value1, value2);
        }
        public ValidCodeExample.Criteria andCodeIsNull() {
            return isNull(code);
        }

        public ValidCodeExample.Criteria andCodeIsNotNull() {
            return isNotNull(code);
        }

        public ValidCodeExample.Criteria andCodeEqualTo(String value) {
            return equalTo(code, value);
        }

        public ValidCodeExample.Criteria andCodeNotEqualTo(String value) {
            return notEqualTo(code, value);
        }

        public ValidCodeExample.Criteria andCodeGreaterThan(String value) {
            return greaterThan(code, value);
        }

        public ValidCodeExample.Criteria andCodeGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(code, value);
        }

        public ValidCodeExample.Criteria andCodeLessThan(String value) {
            return lessThan(code, value);
        }

        public ValidCodeExample.Criteria andCodeLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(code, value);
        }

        public ValidCodeExample.Criteria andCodeLike(String value) {
            return like(code, value);
        }

        public ValidCodeExample.Criteria andCodeNotLike(String value) {
            return notLike(code, value);
        }

        public ValidCodeExample.Criteria andCodeIn(List<String> values) {
            return in(code, values);
        }

        public ValidCodeExample.Criteria andCodeNotIn(List<String> values) {
            return notIn(code, values);
        }

        public ValidCodeExample.Criteria andCodeBetween(String value1, String value2) {
            return between(code, value1, value2);
        }

        public ValidCodeExample.Criteria andCodeNotBetween(String value1, String value2) {
            return notBetween(code, value1, value2);
        }
        public ValidCodeExample.Criteria andCodeTypeIsNull() {
            return isNull(codeType);
        }

        public ValidCodeExample.Criteria andCodeTypeIsNotNull() {
            return isNotNull(codeType);
        }

        public ValidCodeExample.Criteria andCodeTypeEqualTo(Integer value) {
            return equalTo(codeType, value);
        }

        public ValidCodeExample.Criteria andCodeTypeNotEqualTo(Integer value) {
            return notEqualTo(codeType, value);
        }

        public ValidCodeExample.Criteria andCodeTypeGreaterThan(Integer value) {
            return greaterThan(codeType, value);
        }

        public ValidCodeExample.Criteria andCodeTypeGreaterThanOrEqualTo(Integer value) {
            return greaterThanOrEqualTo(codeType, value);
        }

        public ValidCodeExample.Criteria andCodeTypeLessThan(Integer value) {
            return lessThan(codeType, value);
        }

        public ValidCodeExample.Criteria andCodeTypeLessThanOrEqualTo(Integer value) {
            return lessThanOrEqualTo(codeType, value);
        }

        public ValidCodeExample.Criteria andCodeTypeIn(List<Integer> values) {
            return in(codeType, values);
        }

        public ValidCodeExample.Criteria andCodeTypeNotIn(List<Integer> values) {
            return notIn(codeType, values);
        }

        public ValidCodeExample.Criteria andCodeTypeBetween(Integer value1, Integer value2) {
            return between(codeType, value1, value2);
        }

        public ValidCodeExample.Criteria andCodeTypeNotBetween(Integer value1, Integer value2) {
            return notBetween(codeType, value1, value2);
        }
        public ValidCodeExample.Criteria andPhoneIsNull() {
            return isNull(phone);
        }

        public ValidCodeExample.Criteria andPhoneIsNotNull() {
            return isNotNull(phone);
        }

        public ValidCodeExample.Criteria andPhoneEqualTo(String value) {
            return equalTo(phone, value);
        }

        public ValidCodeExample.Criteria andPhoneNotEqualTo(String value) {
            return notEqualTo(phone, value);
        }

        public ValidCodeExample.Criteria andPhoneGreaterThan(String value) {
            return greaterThan(phone, value);
        }

        public ValidCodeExample.Criteria andPhoneGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(phone, value);
        }

        public ValidCodeExample.Criteria andPhoneLessThan(String value) {
            return lessThan(phone, value);
        }

        public ValidCodeExample.Criteria andPhoneLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(phone, value);
        }

        public ValidCodeExample.Criteria andPhoneLike(String value) {
            return like(phone, value);
        }

        public ValidCodeExample.Criteria andPhoneNotLike(String value) {
            return notLike(phone, value);
        }

        public ValidCodeExample.Criteria andPhoneIn(List<String> values) {
            return in(phone, values);
        }

        public ValidCodeExample.Criteria andPhoneNotIn(List<String> values) {
            return notIn(phone, values);
        }

        public ValidCodeExample.Criteria andPhoneBetween(String value1, String value2) {
            return between(phone, value1, value2);
        }

        public ValidCodeExample.Criteria andPhoneNotBetween(String value1, String value2) {
            return notBetween(phone, value1, value2);
        }
        public ValidCodeExample.Criteria andCodeTimeIsNull() {
            return isNull(codeTime);
        }

        public ValidCodeExample.Criteria andCodeTimeIsNotNull() {
            return isNotNull(codeTime);
        }

        public ValidCodeExample.Criteria andCodeTimeEqualTo(Date value) {
            return equalTo(codeTime, value);
        }

        public ValidCodeExample.Criteria andCodeTimeNotEqualTo(Date value) {
            return notEqualTo(codeTime, value);
        }

        public ValidCodeExample.Criteria andCodeTimeGreaterThan(Date value) {
            return greaterThan(codeTime, value);
        }

        public ValidCodeExample.Criteria andCodeTimeGreaterThanOrEqualTo(Date value) {
            return greaterThanOrEqualTo(codeTime, value);
        }

        public ValidCodeExample.Criteria andCodeTimeLessThan(Date value) {
            return lessThan(codeTime, value);
        }

        public ValidCodeExample.Criteria andCodeTimeLessThanOrEqualTo(Date value) {
            return lessThanOrEqualTo(codeTime, value);
        }

        public ValidCodeExample.Criteria andCodeTimeIn(List<Date> values) {
            return in(codeTime, values);
        }

        public ValidCodeExample.Criteria andCodeTimeNotIn(List<Date> values) {
            return notIn(codeTime, values);
        }

        public ValidCodeExample.Criteria andCodeTimeBetween(Date value1, Date value2) {
            return between(codeTime, value1, value2);
        }

        public ValidCodeExample.Criteria andCodeTimeNotBetween(Date value1, Date value2) {
            return notBetween(codeTime, value1, value2);
        }
    }
}